package com.example.testapplication;

import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.viewpager.widget.ViewPager;

import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;

import com.example.testapplication.adapter.GoodsPagerAdapter;
import com.example.testapplication.util.DataUtil;
import com.example.testapplication.util.MenuUtil;
import com.google.android.material.tabs.TabLayout;

import java.util.ArrayList;

public class TabLayoutActivity extends AppCompatActivity implements TabLayout.OnTabSelectedListener {
    private final static String TAG = "TabLayoutActivity";
    private ViewPager vp_content; // 定义一个翻页视图对象
    private TabLayout tab_title; // 定义一个标签页
    private ArrayList<String> mTitleArray = new ArrayList<String>(); // 标题文字队列

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tab_layout);
        Toolbar tl_head = findViewById(R.id.tl_headI);
        // 使用tl_head 替换系统自带的ActionBar
        setSupportActionBar(tl_head);
        mTitleArray.add("商品");
        mTitleArray.add("详情");

        initTabLayout(); // 初始化标签布局
        initTabViewPager(); // 初始化标签翻页

    }

    private void initTabViewPager() {
        vp_content = findViewById(R.id.vp_contentI);
        // 构建一个商品信息的翻页器适配器
        GoodsPagerAdapter adapter = new GoodsPagerAdapter(getSupportFragmentManager(),mTitleArray);
        // 给 vp_content设置商品翻页适配器
        vp_content.setAdapter(adapter);
        // 添加页面监听器
        vp_content.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() {
            @Override
            public void onPageSelected(int position) {
                // 选中tab_title指定位置的标签
                tab_title.getTabAt(position).select();
            }
        });

    }

    private void initTabLayout() {
        tab_title = findViewById(R.id.tab_title);
        tab_title.addTab(tab_title.newTab().setText(mTitleArray.get(0)));
        tab_title.addTab(tab_title.newTab().setText(mTitleArray.get(1)));

        // 给tab_title添加标签选中监听器
        tab_title.addOnTabSelectedListener(this);

    }

    // 在标签选中时触发
    @Override
    public void onTabSelected(TabLayout.Tab tab) {
        // 让vp_content显示指定位置的页面
        vp_content.setCurrentItem(tab.getPosition());

    }
    // 在标签取消选中时触发
    @Override
    public void onTabUnselected(TabLayout.Tab tab) {

    }
    // 在标签被重复选中时触发
    @Override
    public void onTabReselected(TabLayout.Tab tab) {

    }

    @Override
    public boolean onMenuOpened(int featureId, Menu menu) {
        // // 显示菜单项左侧的图标
        MenuUtil.setOverflowIconVisible(featureId,menu);
        return super.onMenuOpened(featureId, menu);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // 从menu_overflow.xml中构建菜单界面布局
        getMenuInflater().inflate(R.menu.menu_overflow, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(@NonNull MenuItem item) {
        int id = item.getItemId();
        if(id == android.R.id.home){// 点击了工具栏左边的返回箭头
            finish();
        } else if (id == R.id.menu_refresh) { // 点击了刷新图标
            Toast.makeText(this, "当前刷新时间: " + DataUtil.getNowDateTime("yyyy-MM-dd HH:mm:ss")
                    , Toast.LENGTH_LONG).show();
            return true;
        } else if (id == R.id.menu_about) { // 点击了关于菜单项
            Toast.makeText(this, "这个是标签布局的演示demo", Toast.LENGTH_LONG).show();
            return true;
        } else if (id == R.id.menu_quit) { // 点击了退出菜单项
            finish();
        }
        return super.onOptionsItemSelected(item);
    }
}